﻿                                                        /////////////////////////////////////
                                                        //       Function Support          //
                                                        /////////////////////////////////////

function isNumeric(input) {
    return (input - 0) == input && input.length > 0;
}

// kiem tra 1 value co ton tai trong chuoi ngan cach boi dau phay
function checkStringExist(str, val) {
    var data = str.split(",");
    for (i = 0; i < data.length; i++) {
        if (val == data[i]) return true;
    }
    return false;
}

function showErrMess(id, mess) {
    var html;
    html = '';
    html +='<div class="alert alert-danger alert-dismissable">';
    html +='    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>';
    html +='    <h4><i class="fa fa-times"></i> Lỗi</h4> '+mess;
    html += '</div>';
    $('#' + id).html(html);
    $('#' + id).fadeIn('normal');
}

                                                        /////////////////////////////////////
                                                        //       Function Valid Form       //
                                                        /////////////////////////////////////
function validError(ele, mess) {
    $(ele).parents(".form-group").removeClass("has-success has-error").addClass("has-error");
    if ($(ele).parents(".form-group").find('.help-block').length > 0)
        $(ele).parents(".form-group").find('.help-block').text(mess);
    else {
        mess = '<div class="help-block">' + mess + '</div>';
        $(ele).parents(".form-group").append(mess);    
    }
    $(ele).focus();
}
function validSuccess(ele) {
    $(ele).parents(".form-group").removeClass("has-success has-error").addClass("has-success");
    if ($(ele).parents(".form-group").find('.help-block').length > 0)
        $(ele).parents(".form-group").find('.help-block').html('');
}
function validErrorCKEditor(id, mess) {
    $('#' + id).text(mess);
    $('#' + id).parents(".form-group").removeClass("has-success has-error").addClass("has-error");
}
function validSuccessCKEditor(id) {
    $('#' + id).parents(".form-group").removeClass("has-success has-error").addClass("has-success");
    if ($('#' + id).length > 0)
        $('#' + id).html('');
}


function chkTextBox(strId, mess) {
    if ($('#' + strId).val() == '') {
        validError($('#' + strId), mess);
        return false;
    }else {
        validSuccess($('#' + strId));
        return true;
    }
}
function chkTextBoxNumber(strId, mess) {
    if (!isNumeric($('#' + strId).val())) {
        validError($('#' + strId), mess);
        return false;
    } else {
        validSuccess($('#' + strId));
        return true;
    }
}
function chkTextBoxEmail(strId, mess) {
    filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    if (!filter.test($('#' + strId).val())) {
        validError($('#' + strId), mess);
        return false;
    } else {
        validSuccess($('#' + strId));
        return true;
    }
}
function chkTextBoxUserName(strId, mess) {
    filter = /^[a-zA-Z0-9]+$/;
    if (!filter.test($('#' + strId).val())) {
        validError($('#' + strId), mess);
        return false;
    } else {
        validSuccess($('#' + strId));
        return true;
    }
}
function chkDropdownBox(strId, mess) {
    if ($('#' + strId).val() < 0) {
        validError($('#' + strId), mess);
        return false;
    } else {
        validSuccess($('#' + strId));
        return true;
    }
}
function chkDropdownBox_GreaterThan0(strId, mess) {
    if ($('#' + strId).val() <= 0) {
        validError($('#' + strId), mess);
        return false;
    } else {
        validSuccess($('#' + strId));
        return true;
    }
}



                                            /////////////////////////////////////
                                            //       Function in DataTable     //
                                            /////////////////////////////////////

function activeMainTR(id) {
    $('#trExt_' + id).css('display', 'none');
    $('#trMain_' + id).css('display', 'table-row');
}
function activeExtTR(id) {
    $('#trMain_' + id).css('display', 'none');
    $('#trExt_' + id).css('display', 'table-row');
}
function fadeData(ele, idTbl) {
    if ($(ele).find('i').hasClass("hi-resize-full")) {
        $(ele).find('i').removeClass("hi-resize-full");
        $(ele).find('i').addClass("hi-resize-small");
        $('#' + idTbl).fadeIn('normal');
    } else {
        $(ele).find('i').removeClass("hi-resize-small");
        $(ele).find('i').addClass("hi-resize-full");
        $('#' + idTbl).fadeOut('normal');
    }
}


                                            /////////////////////////////////////
                                            //           Other Function        //
                                            /////////////////////////////////////

function chooseAvatar(idcontrol) {
    var finder = new CKFinder();
    finder.selectActionFunction = function (fileUrl) {
        console.log(fileUrl);
        $('#' + idcontrol).val(fileUrl);
        $('#avatar').attr('src', fileUrl);

    };
    finder.popup();
}

                                            /////////////////////////////////////
                                            //    Function detail Product      //
                                            /////////////////////////////////////

function choseMainCate(ele, cateid, parentid) {
    // remove active from all check box
    $(ele).parent().parent().find('div.chk_childCate').removeClass('active');
    // add active in current check box
    $(ele).parent().addClass('active');
    // checked current input check box
    //$(ele).parent().find("input:checkbox").prop('checked', true);
    $('#chkListon_' + cateid).prop('checked', true);
    // checked parent of current input check box
    if (parentid > 0) $('#chkListon_' + parentid).prop('checked', true);
    // set main cate to hidden
    $('#hidCateId').val(cateid);
    
    setValToListon(cateid, parentid);
}

function setValToListon(cate, parent) {
    var lstParent = $('#hidCateParentListOn').val();
    var lstChild = $('#hidCateChildListOn').val();

    if (parent > 0) { // neu la cate child
        if (!(checkStringExist(lstChild, cate))) // neu cate child nay chua ton tai thi se them vao lisst child    
            lstChild = lstChild + cate + ',';
        if (!(checkStringExist(lstParent, parent))) // neu parent nay chua ton tai thi se them vao lisst parent
            lstParent = lstParent + parent + ',';
    } else {
        if (!(checkStringExist(lstParent, cate))) // neu parent nay chua ton tai thi se them vao lisst parent
            lstParent = lstParent + cate + ',';
    }
    $('#hidCateParentListOn').val(lstParent);
    $('#hidCateChildListOn').val(lstChild);
    // set value = 1 de xac nhan co thay doi list on de update lai bang liston
    $('#hidUpdateListOn').val(1);
}



function removeValToListon(cate, parent) {
    //console.log('cate: ' + cate + ' --- parent: ' + parent);
    var lstParent = $('#hidCateParentListOn').val();
    var lstChild = $('#hidCateChildListOn').val();

    if (parent == 0) {// voi check box Parent
        console.log('lstParent before : ' + lstParent);
        lstParent = removeStringExist(lstParent, cate);
        //console.log('lstParent after : ' + lstParent);
    } else { // voi check box la child
        // neu check box bi uncheck la danh muc chinh thi remove hidden danh muc chinh va bo active class di
        if (cate == $('#hidCateId').val()) {
            // remove active from all check box
            $('#chkListon_' + cate).parent().parent().parent().find('div.chk_childCate').removeClass('active');
            $('#hidCateId').val('');
        }
        //console.log('lstChild before : ' + lstChild);
        lstChild = removeStringExist(lstChild, cate);
        //console.log('lstChild after : ' + lstChild);
    }
    $('#hidCateParentListOn').val(lstParent);
    $('#hidCateChildListOn').val(lstChild);
    // set value = 1 de xac nhan co thay doi list on de update lai bang liston
    $('#hidUpdateListOn').val(1);
}

//console.log(removeStringExist('3,2,4,', 2));
// kiem tra 1 value co ton tai trong chuoi ngan cach boi dau phay
function removeStringExist(str, val) {
    var strReturn = '';
    var data = str.split(",");
    for (i = 0; i < data.length; i++) {
        if (val != data[i]) {
            if (data[i] > 0) {
                strReturn += data[i] + ',';
            }
        }
    }
    return strReturn;
}

// format dropdown list status
function FormatColorDropList(idcontrol) {
    var obj = $('#' + idcontrol);
    // Bind color when change option
    $(obj).change(function () {
        var optionSelected = $(this).find("option:selected");
        var bgColor = $(optionSelected).css("background-color");
        obj.css("background-color", bgColor);
        var textColor = $(optionSelected).css("color");
        obj.css("color", textColor);
    });

    // Bind color when load
    var optionSelected = $(obj).find("option:selected");
    var bgColor = $(optionSelected).css("background-color");
    obj.css("background-color", bgColor);
    var textColor = $(optionSelected).css("color");
    obj.css("color", textColor);
}





